/*
 * @lc app=leetcode.cn id=883 lang=java
 *
 * [883] 三维形体投影面积
 */

// @lc code=start
class Solution {
    public int projectionArea(int[][] grid) {
        //不用投影具体对应矩阵的行列
        //面积由三部分构成
        // area1=矩阵中不为0的数的个数，即俯视图
        // 从所有行出发，找到该行最大的数即为area2的某个组成，找到所有行的最大的数求和就找到了从行看过去面积
        //同理从所有列出发，可获得area3
        int area=0;
        for(int i=0;i<grid.length;i++){
            int max1=0,max2=0;
            for(int j=0;j<grid.length;j++){
                if(grid[i][j]>0){
                    area++;
                }
                if(grid[i][j]>max1){
                    max1=grid[i][j];
                }
                if(grid[j][i]>max2){
                    max2=grid[j][i];
                }
            }
            area=area+max1+max2;
        }
        return area;
    }
}
// @lc code=end

